clutter_container_add_actor((ClutterContainer*) self, actor);
st_container_move_child (ST_CONTAINER (self), actor, pos);
}
+
+void
+st_box_layout_insert_before (StBoxLayout *self,
+ ClutterActor *actor,
+ ClutterActor *sibling)
+{
+ g_return_if_fail (ST_IS_BOX_LAYOUT (self));
+
+ clutter_container_add_actor(CLUTTER_CONTAINER (self), actor);
+ st_container_move_before (ST_CONTAINER (self), actor, sibling);
+}
ClutterActor *actor,
int pos);
+void st_box_layout_insert_before (StBoxLayout *self,
+ ClutterActor *actor,
+ ClutterActor *sibling);
+
G_END_DECLS
#endif /* _ST_BOX_LAYOUT_H */
clutter_actor_queue_relayout ((ClutterActor*) container);
}
+void
+st_container_move_before (StContainer *container,
+ ClutterActor *actor,
+ ClutterActor *sibling)
+{
+ StContainerPrivate *priv = container->priv;
+ GList *actor_item = NULL;
+ GList *sibling_item = NULL;
+
+ actor_item = g_list_find (priv->children, actor);
+ sibling_item = g_list_find (priv->children, sibling);
+
+ g_return_if_fail (actor_item != NULL);
+ g_return_if_fail (sibling_item != NULL);
+
+ priv->children = g_list_delete_link (priv->children, actor_item);
+ priv->children = g_list_insert_before (priv->children, sibling_item, actor);
+
+ st_container_update_pseudo_classes (container);
+
+ clutter_actor_queue_relayout (CLUTTER_ACTOR (container));
+}
+
/**
* st_container_get_children_list:
* @container: An #StContainer
void st_container_move_child (StContainer *container,
ClutterActor *actor,
int pos);
+void st_container_move_before (StContainer *container,
+ ClutterActor *actor,
+ ClutterActor *sibling);
GList * st_container_get_children_list (StContainer *container);
G_END_DECLS